package com.ruoyi.life.mapper;

import com.ruoyi.life.domain.vo.QyEnterpriseOtherFeeVO;
import com.ruoyi.omp.api.domain.FeLeaseRecord;
import com.ruoyi.omp.api.domain.vo.RoomVO;

import java.util.List;

/**
 * 租赁记录Mapper接口
 *
 * @author cjie
 * @date 2021-09-17
 */
public interface FeLeaseRecordMapper {
    /**
     * 查询租赁记录
     *
     * @param id 租赁记录ID
     * @return 租赁记录
     */
     FeLeaseRecord selectFeLeaseRecordById(String id);

    /**
     * 通过enterpriseId查询租赁记录
     *
     * @param enterpriseId 企业id
     * @return 租赁记录
     */
    FeLeaseRecord selectFeLeaseRecordByEnterpriseId(String enterpriseId);

    /**
     * 查询租赁记录列表
     *
     * @param feLeaseRecord 租赁记录
     * @return 租赁记录集合
     */
     List<FeLeaseRecord> selectFeLeaseRecordList(FeLeaseRecord feLeaseRecord);

    /**
     * 新增租赁记录
     *
     * @param feLeaseRecord 租赁记录
     * @return 结果
     */
     int insertFeLeaseRecord(FeLeaseRecord feLeaseRecord);

    /**
     * 修改租赁记录
     *
     * @param feLeaseRecord 租赁记录
     * @return 结果
     */
     int updateFeLeaseRecord(FeLeaseRecord feLeaseRecord);

    /**
     * 删除租赁记录
     *
     * @param id 租赁记录ID
     * @return 结果
     */
     int deleteFeLeaseRecordById(String id);

    /**
     * 批量删除租赁记录
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
     int deleteFeLeaseRecordByIds(String[] ids);

    /**
     * 通过记录id查询对应房屋
     * @param recordId 记录id
     * @return
     */
    List<RoomVO> selectRoomByRecordId(String recordId);

    List<QyEnterpriseOtherFeeVO> selectOtherFeeList(FeLeaseRecord feLeaseRecord);

    QyEnterpriseOtherFeeVO selectOtherFeeById(String id);

    int updateOtherFee(QyEnterpriseOtherFeeVO vo);
}
